using System;
using System.Collections.Generic;
using System.Text;

namespace Stratman.Utilities.NetFlix
{
    /// <summary>
    /// Response data for a movie that comes back from the NetFlix server when that movie is added
    /// to the queue using their JSON interface.
    /// </summary>
    public struct JsonAddedMovie
    {
        /// <summary>
        /// Media type of the added movie (DVD, HD-DVD, BluRay, etc.).
        /// </summary>
        public int mediaType;
        /// <summary>
        /// Provides the release date for the movie if it hasn't been released yet.
        /// </summary>
        public string fulfillment;
        /// <summary>
        /// Numeric identifier of the added movie.
        /// </summary>
        public long id;
        /// <summary>
        /// Flag indicating whether or not the movie is recommended to the user by NetFlix's
        /// rating engine.
        /// </summary>
        public bool recommended;
        /// <summary>
        /// Describes whether the movie is available immediately, whether there's a wait for it,
        /// or whether the movie is yet to be released.
        /// </summary>
        public string availability;
        /// <summary>
        /// Title of the added movie.
        /// </summary>
        public string title;
        /// <summary>
        /// Unfortunately, I have no idea what this does; let me know if you find out.
        /// </summary>
        public string instruction;
        /// <summary>
        /// ID of the button that was clicked to generate the request.
        /// </summary>
        public string buttonId;
        /// <summary>
        /// Response code from the server for the add operation.
        /// </summary>
        public int resultCode;
        /// <summary>
        /// Tracking ID that NetFlix's system used.
        /// </summary>
        public string trkid;
        /// <summary>
        /// Location from within NetFlix's site where the request was made.
        /// </summary>
        public string entryLocation;
        /// <summary>
        /// Any message text that is returned from NetFlix as a result of the add operation.
        /// </summary>
        public string feedback;
        /// <summary>
        /// Text detailing alternative media types for which this movie is available.
        /// </summary>
        public string media;
        /// <summary>
        /// Flag indicating whether or not the movie was moved to the top of the user's queue.
        /// </summary>
        public bool movetop;
        /// <summary>
        /// Flag indicating whether or not the movie was removed from the user's queue.
        /// </summary>
        public bool remove;
    }
}
